perm filename TEXCHG.TXT[TEX,DEK] blob sn#510433 filedate 1980-05-19 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	I made a tiny change to TEX today, in the [leftnoad][rightnoad] branch of
C00008 ENDMK
C⊗;
I made a tiny change to TEX today, in the [leftnoad][rightnoad] branch of
the "while q" loop that is the second pass of the mlist_to_hlist procedure
on page 15 of TEXSEM. The new line of code reads
	b←varsymbol(operand(q),curstyle,1.8*s);
Formerly this constant 1.8 was 2.0. The effect is that \left and \right will
now be able to enclose a slightly larger formula before they jump to the
next point size. (e.g., a formula whose height or depth extends at most 6.6666pt
above or below the axis will now be acceptably enclosed in 12pt parens...
previously the threshold was 6.0pt)

I know of no other bugs in TEX, and I plan to make only a trivial change
in the future before "freezing" it. This change is to add further parameters
to control an improved justification routine that Mike Plass and I are
working on. There will be a "loose" parameter that will set a paragraph a
given number of lines longer than its optimum length (if possible), thereby
making it possible to avoid widow lines on pages that are entirely text.
(This will be a two-pass interactive scheme that could be automated but won't be,
such major extensions are for the next generation of programs!)
There will also be a "jjpar" parameter, with the following
meaning: Our new justification routine will proceed in two passes. The first
pass uses the existing jpar to find the optimum way to break lines without
making any hyphenations, if there is a way to do this without any lines
whose badness exceeds jpar. If that fails, a second pass is made that
tries all possible hyphenations and uses jjpar instead of jpar.
A third parameter will be for a new penalty for lines whose stretching and
shrinking is quite different from that of the previous line (e.g. a line
that stretches following one that shrinks). These new parameters allow
finer tuning of justification, as appropriate for the improved algorithm
Mike has worked out.

Rich Zippel asked me to make the fudge factor 1.3 a parameter settable by \chpar.
Somehow this worries me, since I don't think TEXDVI should look at this
parameter (it doesn't look at the fudge factor now), and our plan is to
have all of our output drivers reading .DVI files. Thus, if people want
a different enlargement factor, they should treat it as if they are printing
on a different device; this enlargement factor should logically (it says here)
be a parameter to the spooling routine that goes from a .DVI file to the device.
At Xerox, .PRESS files play the role of the .DVI files at Stanford, but I think
the same arguments apply? Still, I guess it is reasonable to make the fudge
factor a user-settable parameter (it would be expressed as an integer number
in percent, as 130), since it affects the dimensions like "truein" and it would
make this concept machine-independent. The setting of this parameter would
take place at the end of file BASIC in the same place as the default \hsize
and \vsize are stated.

While I'm at it, I guess I will also make room for one more parameter settable
by \chpar, to be used by extensions.

Let me know if you have comments on these proposals before I go ahead and
implement them, OK? Thanks for your help